package com.service;

import com.bean.MessageBoard;
import com.utils.PageInfo;

import java.util.List;

public interface MessageBoardService {
    /**
     * 根据留言 ID 获取留言信息
     * @param messageId 留言的唯一标识
     * @return 留言信息对象，如果未找到则返回 null
     */
    MessageBoard getMessageBoardById(Integer messageId);

    /**
     * 分页模糊查询留言信息，可根据留言内容或用户名进行模糊匹配
     * @param keyword 模糊查询关键字，可匹配留言内容或用户名
     * @param pageNum 当前页码
     * @param pageSize 每页记录数
     * @return 包含分页信息的留言信息列表
     */
    PageInfo<MessageBoard> getMessageBoardsWithKeyword(String keyword, int pageNum, int pageSize);

    /**
     * 插入新的留言信息
     * @param messageBoard 留言信息对象
     * @return 插入操作是否成功，成功返回 true，失败返回 false
     */
    boolean insertMessageBoard(MessageBoard messageBoard);

    /**
     * 根据留言 ID 更新留言信息
     * @param messageBoard 留言信息对象，包含要更新的内容，messageId 用于定位记录
     * @return 更新操作是否成功，成功返回 true，失败返回 false
     */
    boolean updateMessageBoard(MessageBoard messageBoard);

    /**
     * 根据留言 ID 删除留言信息
     * @param messageId 留言的唯一标识
     * @return 删除操作是否成功，成功返回 true，失败返回 false
     */
    boolean deleteMessageBoardById(Integer messageId);
}